package com.skiving.cloud.admin.service;

import com.mybatisflex.core.paginate.Page;
import com.skiving.cloud.common.utils.PageParameter;
import com.mybatisflex.core.service.IService;
import com.skiving.cloud.admin.entity.SysCaptcha;

import java.awt.image.BufferedImage;

/**
 * 系统验证码 服务层。
 *
 * @author skivingcloud
 * @since 2025-03-10
 */
public interface SysCaptchaService extends IService<SysCaptcha> {
    /**
     * 分页查询系统验证码
     *
     * @param parameter 查询参数
     * @return 分页查询结果
     */
    Page<SysCaptcha> queryByPage(PageParameter<SysCaptcha> parameter);

    /**
     * 获取图片验证码
     * @param uuid uuid
     */
    BufferedImage getCaptcha(String uuid) throws Exception;

    /**
     * 验证码效验
     * @param uuid  uuid
     * @param code  验证码
     * @return  true：成功  false：失败
     */
    boolean validate(String uuid, String code);
}
